package com.hp.snap.gr.model;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import java.util.HashMap;
import java.util.Map;

public class Deployment {
    private String commandlogfreqtxns;
    private String commandlogpath;
    private boolean security;
    //private Exportparameters exportparameters;
    private long id;
    private int snapshotfrequency;
    private String voltroot;
    private String commandlogsnapshotpath;
    private boolean jsonenabled;
    private String name;
    private boolean commandlogsync;
    private String snapshotpath;
    private boolean commandlogenabled;
    private int maxtemptablememory;
    private int commandlogsize;
    private int snapshotpriority;
    private String kfactor;
    private boolean export;
    private String userbytes;
    private int snapshotretain;
    private int adminport;
    private int heartbeattimeout;
    private String exportoverflowpath;
    private boolean partitiondetection;
    private int httpport;
    private boolean elastic;
    private int sitesperhost;
    private int commandlogfreqtime;
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    public String getCommandlogfreqtxns() {
        return commandlogfreqtxns;
    }

    public void setCommandlogfreqtxns(String commandlogfreqtxns) {
        this.commandlogfreqtxns = commandlogfreqtxns;
    }

    public String getCommandlogpath() {
        return commandlogpath;
    }

    public void setCommandlogpath(String commandlogpath) {
        this.commandlogpath = commandlogpath;
    }

    public boolean isSecurity() {
        return security;
    }

    public void setSecurity(boolean security) {
        this.security = security;
    }

//    public Exportparameters getExportparameters() {
//        return exportparameters;
//    }
//
//    public void setExportparameters(Exportparameters exportparameters) {
//        this.exportparameters = exportparameters;
//    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getSnapshotfrequency() {
        return snapshotfrequency;
    }

    public void setSnapshotfrequency(int snapshotfrequency) {
        this.snapshotfrequency = snapshotfrequency;
    }

    public String getVoltroot() {
        return voltroot;
    }

    public void setVoltroot(String voltroot) {
        this.voltroot = voltroot;
    }

    public String getCommandlogsnapshotpath() {
        return commandlogsnapshotpath;
    }

    public void setCommandlogsnapshotpath(String commandlogsnapshotpath) {
        this.commandlogsnapshotpath = commandlogsnapshotpath;
    }

    public boolean isJsonenabled() {
        return jsonenabled;
    }

    public void setJsonenabled(boolean jsonenabled) {
        this.jsonenabled = jsonenabled;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isCommandlogsync() {
        return commandlogsync;
    }

    public void setCommandlogsync(boolean commandlogsync) {
        this.commandlogsync = commandlogsync;
    }

    public String getSnapshotpath() {
        return snapshotpath;
    }

    public void setSnapshotpath(String snapshotpath) {
        this.snapshotpath = snapshotpath;
    }

    public boolean isCommandlogenabled() {
        return commandlogenabled;
    }

    public void setCommandlogenabled(boolean commandlogenabled) {
        this.commandlogenabled = commandlogenabled;
    }

    public int getMaxtemptablememory() {
        return maxtemptablememory;
    }

    public void setMaxtemptablememory(int maxtemptablememory) {
        this.maxtemptablememory = maxtemptablememory;
    }

    public int getCommandlogsize() {
        return commandlogsize;
    }

    public void setCommandlogsize(int commandlogsize) {
        this.commandlogsize = commandlogsize;
    }

    public int getSnapshotpriority() {
        return snapshotpriority;
    }

    public void setSnapshotpriority(int snapshotpriority) {
        this.snapshotpriority = snapshotpriority;
    }

    public String getKfactor() {
        return kfactor;
    }

    public void setKfactor(String kfactor) {
        this.kfactor = kfactor;
    }

    public boolean isExport() {
        return export;
    }

    public void setExport(boolean export) {
        this.export = export;
    }

    public String getUserbytes() {
        return userbytes;
    }

    public void setUserbytes(String userbytes) {
        this.userbytes = userbytes;
    }

    public int getSnapshotretain() {
        return snapshotretain;
    }

    public void setSnapshotretain(int snapshotretain) {
        this.snapshotretain = snapshotretain;
    }

    public int getAdminport() {
        return adminport;
    }

    public void setAdminport(int adminport) {
        this.adminport = adminport;
    }

    public int getHeartbeattimeout() {
        return heartbeattimeout;
    }

    public void setHeartbeattimeout(int heartbeattimeout) {
        this.heartbeattimeout = heartbeattimeout;
    }

    public String getExportoverflowpath() {
        return exportoverflowpath;
    }

    public void setExportoverflowpath(String exportoverflowpath) {
        this.exportoverflowpath = exportoverflowpath;
    }

    public boolean isPartitiondetection() {
        return partitiondetection;
    }

    public void setPartitiondetection(boolean partitiondetection) {
        this.partitiondetection = partitiondetection;
    }

    public int getHttpport() {
        return httpport;
    }

    public void setHttpport(int httpport) {
        this.httpport = httpport;
    }

    public boolean isElastic() {
        return elastic;
    }

    public void setElastic(boolean elastic) {
        this.elastic = elastic;
    }

    public int getSitesperhost() {
        return sitesperhost;
    }

    public void setSitesperhost(int sitesperhost) {
        this.sitesperhost = sitesperhost;
    }

    public int getCommandlogfreqtime() {
        return commandlogfreqtime;
    }

    public void setCommandlogfreqtime(int commandlogfreqtime) {
        this.commandlogfreqtime = commandlogfreqtime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public boolean equals(Object other) {
        return EqualsBuilder.reflectionEquals(this, other);
    }

    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }


}
